list_for_each_entry ( pt, head, list )
{
if ( !pt_irq_masked(pt) && pt->pending_intr_nr &&
- ((pt->last_plt_gtime + pt->period_cycles) < max_lag) )
+ ((pt->last_plt_gtime + pt->period) < max_lag) )
{
- max_lag = pt->last_plt_gtime + pt->period_cycles;
+ max_lag = pt->last_plt_gtime + pt->period;
earliest_pt = pt;
}
}
}
else
{
- pt->last_plt_gtime += pt->period_cycles;
+ pt->last_plt_gtime += pt->period;
pt->pending_intr_nr--;
}
}
pt->vcpu = v;
pt->last_plt_gtime = hvm_get_guest_time(pt->vcpu);
pt->irq = irq;
- pt->period_cycles = (u64)period;
pt->one_shot = !period;
pt->scheduled = NOW() + delta;
struct vcpu *vcpu; /* vcpu timer interrupt delivers to */
u32 pending_intr_nr; /* pending timer interrupts */
u64 period; /* frequency in ns */
- u64 period_cycles; /* frequency in cpu cycles */
s_time_t scheduled; /* scheduled timer interrupt */
u64 last_plt_gtime; /* platform time when last IRQ is injected */
struct timer timer; /* ac_timer */